﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Phoenix.Xna.Framework.Components
{
    public interface I3DMoveable
    {
        float RotationDelta { get; set; }
        float MoveDelta { get; set; }
        float Yaw { get; set; }
        float Pitch { get; set; }
        float Roll { get; set; }

        void RotateAroundTarget(float delta);
        void MoveForward();
        void MoveForward(float delta);
        void MoveBackward();
        void MoveBackward(float delta);
        void MoveLeft();
        void MoveLeft(float delta);
        void MoveRight();
        void MoveRight(float delta);
        void MoveUp();
        void MoveUp(float delta);
        void MoveDown();
        void MoveDown(float delta);
        void YawLeft();
        void YawLeft(float delta);
        void YawRight();
        void YawRight(float delta);
        void PitchUp();
        void PitchUp(float delta);
        void PitchDown();
        void PitchDown(float delta);
        void RollLeft();
        void RollLeft(float delta);
        void RollRight();
        void RollRight(float delta);
    }
}
